/**
 * Copyright (c) 2006-2024 LOVE Development Team
 *
 * This software is provided 'as-is', without any express or implied
 * warranty.  In no event will the authors be held liable for any damages
 * arising from the use of this software.
 *
 * Permission is granted to anyone to use this software for any purpose,
 * including commercial applications, and to alter it and redistribute it
 * freely, subject to the following restrictions:
 *
 * 1. The origin of this software must not be misrepresented; you must not
 *    claim that you wrote the original software. If you use this software
 *    in a product, an acknowledgment in the product documentation would be
 *    appreciated but is not required.
 * 2. Altered source versions must be plainly marked as such, and must not be
 *    misrepresented as being the original software.
 * 3. This notice may not be removed or altered from any source distribution.
 **/

#include "delay.h"

#include <SDL_timer.h>
#include <SDL_version.h>

namespace love
{

// TODO: use ns.
void sleep(double ms)
{
	// We don't need to initialize the SDL timer subsystem for SDL_Delay to
	// function - and doing so causes SDL to create a worker thread.
#if SDL_VERSION_ATLEAST(3, 0, 0)
	SDL_DelayNS(SDL_MS_TO_NS(ms));
#else
	SDL_Delay((Uint32)ms);
#endif
}

} // love
